Soru & Cevap

AlarmManager' ı saat 02:00' a ayarladım fakat günün her saati kodları çalıştırıyor.

21.09.2020 - 05:04

Merhabalar.

Her gece 2' de uygulama ve telefon ekranı kapalı olsa bile, telefonu uyandırmaksızın veri tabanına bilgi ekleyebilen bir uygulama yazmak istiyorum. yazacağım uygulamamı denemek için,  oluşturmuş olduğum AlarmReceiver.java class içerisine titreşim komutu girdim. DB kodlarını yazmadan önce çalışıp çalışmadığını görmek maksadıyla pratik bir deneme oması için 3sn titreşim komutu verdirdim. Fakat MainActivity.java nezaman çalışsa saat farketmeksizin telefon 3sn titreşiyor. Fakat sadece belirlenen saatte titreşmesi gerekiyor.

Yardımcı olursanız çok sevnirim. şimdiden teşekkürler..

​
// MAIN ACTIVITY JAVA****************

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        AlarmManager alarmMgr0 = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
        Intent intent = new Intent(this, AlarmReceiver.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);

        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY, 2);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        alarmMgr0.set(AlarmManager.RTC, calendar.getTimeInMillis(), pendingIntent);


// ALARM RECEIVER JAVA****************

public class AlarmReceiver extends BroadcastReceiver {
    
    @Override
    public void onReceive(Context context, Intent intent) {
        Vibrator titre = (Vibrator) context.getSystemService(context.VIBRATOR_SERVICE);
        titre.vibrate(3000);

    }
}

// MANIFEST *************************

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity   android:name=".MainActivity"
                    android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity   android:name=".Liste"
                    android:screenOrientation="portrait"/>
        <receiver android:name=".AlarmReceiver"/>
    </application>
    <uses-permission android:name="android.permission.VIBRATE"/>
​

 

26 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user liampapper
liampapper
19.05.2022 - 11:09

Bence AlarmReceiver.java ve MainActivity.java birbiriyle çatışıyor, bu yüzden saat kaç olursa olsun titreşiyor..veya Paper Minecraft ile biraz rahatlayın ve daha fazla çalışmaya geri dönün.

Profile picture for user eanil
eanil
02.10.2020 - 07:44

Java bu pakete sahip mi emin değilim ancak Hangfire paketini önerebilirim.